This invention relates in general to programmable logic controllers and, more particularly, to an apparatus and method for providing an interrupt capability to input/output (I/O) modules in a programmable logic controller.
Programmable logic controllers (PLC's) are a relatively recent development in process control technology. As a part of process control, a PLC is used to monitor input signals from a variety of input points (input sensors) which report events and conditions occurring in a controlled process. For example, a PLC can monitor such input conditions as motor speed, temperature, pressure, volumetric flow and the like. A control program is stored in a memory within the PLC to instruct the PLC what actions to take upon encountering particular input signals or conditions. In response to these input signals provided by input sensors, the PLC derives and generates output signals which are transmitted via PLC output points to various output devices to control the process. For example, the PLC issues output signals to speed up or slow down a conveyer, rotate the arm of a robot, open or close a relay, raise or lower temperature as well as many other possible control functions too numerous to list.
The input and output points referred to above are typically associated with input modules and output modules, respectively. Those skilled in the art alternatively refer to such I/O modules as I/O cards or I/O boards. These I/O modules are typically pluggable into respective slots located on a backplane board in the PLC. The slots are coupled together by a main bus which couples any I/O modules plugged into the slots to a central processing unit (CPU). The CPU itself can be located on a card which is pluggable into a dedicated slot on the backplane of the PLC.
PLC's such as the Model 90-30, manufactured by GE-Fanuc and depicted in FIG. 1, employ a backplane having a serial bi-directional bus over which data flows from the I/O modules to the CPU and from the CPU to the I/O modules. The Model 90-30 CPU also employs dedicated slot enable lines from the CPU to the slots which receive the respective I/O modules. That is, a separate slot enable line is provided from the CPU to each slot, respectively. In this manner, the CPU can selectively enable a particular I/O module to interrogate such module. However, in such systems, the CPU only becomes aware of a change in the input state of a particular I/O module when and if the CPU happens to interrogate that particular I/O module. The CPU is otherwise not informed of I/O module input state changes until such CPU initiated interrogation of the module occurs. In the Model 90-30, module ID lines couple each slot back to the CPU so that I/O modules can inform the CPU as to their module type.
It is known that some more expensive PLC's employ a dedicated interrupt line from each I/O module back to the CPU. In such systems, the respective I/O modules can interrupt the CPU whenever an input state change occurs at an I/O module should that be desired. In this manner, the CPU is informed of input state changes at a particular I/O module by the interrupt signal generated on the dedicated interrupt line which is coupled from that I/O module to the CPU.
The circuitry on existing backplanes such as the Model 90-30 PLC is so densely packed that there is generally little room left on such backplanes for adding more pins to the bus to provide such dedicated interrupts from the I/O modules to the CPU.